package user;


import operation.*;

import java.util.Scanner;

/**
 * 对应 Admin 管理员用户
 */
public class Admin extends User{

    public Admin(String name) {
        super(name);

        // 定义相关的用户功能，父类的User 抽象类，的数组，
        /*
        实现了同一个接口的类，可以定义在该接口的数组中
        * */
        super.operations = new IOperation[]{
                new ExitOperation(),
                new FindOperation(),
                new AddOperation(),
                new DelOperation(),
                new DisplayOperation(),
                new SwitchOperation(),
                new RemoveOperation()
        };

    }


    /**
     * 对应用户 Admin的功能菜单
     * @return
     */
    @Override
    public int menu() {
        Scanner scanner = new Scanner(System.in);
        int choice = 0;
        ;

        System.out.println("**********************************");
        System.out.println("尊敬的管理员 您好! \"" + super.name + "\" 欢迎使用图书管理系统");
        System.out.println("0.退出系统");
        System.out.println("1.查找图书");
        System.out.println("2.新增图书");
        System.out.println("3.删除图书");
        System.out.println("4.显示所有图书");
        System.out.println("5.切换用户");
        System.out.println("6.清除书籍");
        System.out.println("***********************************");

        System.out.print("请输入您的选择:> ");
        choice = scanner.nextInt();

        while (choice < 0 || choice > 6 ) {
            System.out.print("您的选择有误，请重新选择:>");
            choice = scanner.nextInt();
        }

        return choice;

    }

}


/*
//        scanner.close();     // 关闭 IO;
//        choice = scanner.nextInt();


        do{
            choice = scanner.nextInt();
            System.out.print("您的选择有误，请重新选择:>");

        }while(choice < 0 || choice > 6 || !scanner.hasNextInt());

       */

